Method and apparatus for a ranking engine

ABSTRACT

A computer-implemented method is provided for ranking files from an Internet search. In one embodiment, the method comprises assigning a score to each file based on at least one of the following factors: recency, editorial popularity, clickthru popularity, favorites metadata, or favorites collaborative filtering. The file may be organized based on the assigned scores to provide users with more accurate search results.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation application of U.S. patentapplication Ser. No. 11/286,268, filed Nov. 22, 2005, which claimspriority to U.S. Provisional Application Ser. No. 60/630,552 filed onNov. 22, 2004, both of which applications are fully incorporated hereinby reference for all purposes.

BACKGROUND OF THE INVENTION

1. Technical Field

The technical field relates to a scheme for ranking results, and morespecifically, to a rating scheme to rank video search results by anumber of factors.

2. Background Art

Standard web crawlers were originally designed for web pages where thebulk of useful information about the page was contained in an HTML textfile. In web pages today, it is increasingly common for the usefulinformation about the page to be contained in a variety of differentfiles, which are all assembled in the browser to create the completeapplication. Because of this, standard web crawlers are unable to findmuch of the multimedia and video content available on modern web pages.

Even for the video content that is found by standard web crawlers, theresult of the search often provides video content that may beout-of-date, poor quality, or not relevant to a search query from auser. Traditional search engines lack the ability to efficiently andmore accurately organize these search results. There is a need forimproved techniques for organizing the results from such searches toprovide higher accuracy and greater ease of use for the user.

SUMMARY OF THE INVENTION

The present invention provides solutions for at least some of thedrawbacks discussed above. Specifically, some embodiments of the presentinvention provide a Ranking Engine that is a rating scheme used in theTruveo Search Engine to rank video search results by factors such as,but not limited to, popularity, timeliness and/or user preferences. Itenables the Truveo Search Engine to provide highly targeted searchresults to users. It is designed to operate effectively in the absenceof any user input, however, it uses any provided user input to improvethe accuracy of the search results. In one aspect, the present inventionprovides memory-based reasoning algorithms to ensure highly accuratesearch results with minimal user input. Extensive metadata enablesadvanced parametric search when desired. At least some of these andother objectives described herein will be met by embodiments of thepresent invention.

In one embodiment of the present invention, a computer-implementedmethod is provided for a ranking engine. The method comprises assigninga score to each file or record based on at least the following factors:recency, editorial popularity, and clickthru popularity. The files areorganized based on the assigned scores.

In another embodiment of the present invention, a computer-implementedmethod is provided for a ranking engine. The method comprises assigninga score to each file or record based on at least the following factors:recency, editorial popularity, clickthru popularity, favorites metadata,and favorites collaborative filtering. The files are organized based onthe assigned scores.

In yet another embodiment of the present invention, a computer system isprovided that comprises of a ranking engine having programming code fordisplaying results of a search query based on scores, wherein the scoresfor files found in the search are based on at least the followingfactors: recency, editorial popularity, and clickthru popularity.

In a still further embodiment of the present invention, a computersystem is provided that comprises of a ranking engine having programmingcode for displaying results of a search query based on scores, whereinthe scores for files found in the search are based on at least thefollowing factors: recency, editorial popularity, popularity, favoritesmetadata, and favorites collaborative filtering.

The files may be media files, video files, video streams, or the like.The editorial popularity may be weighted between 1 and 0 and is based onat least one of the following: Neilsen ratings, known brand names,website popularity (e.g. Alexa ranking), or the judgment of aprofessional or corporation with expertise in online media. In oneembodiment, the weighting of favorites metadata is R_(md)=0 if nomatches are found or 1 if a keyword field in the metadata of the filematches any favorite titles in a user's favorite titles file, anyfavorite people in a user's favorite people file, or any keyword in auser's favorite keywords file.

In yet another embodiment of the present invention, acomputer-implemented method is provided for organizing a collection offiles from an Internet search. The method comprises assigning a score toeach file based on favorites collaborative filtering W_(cf)R_(cf) and atleast one of the following factors: recency W_(r)R_(r), editorialpopularity W_(e)R_(e), clickthru popularity W_(c)R_(c), and favoritesmetadata W_(md)R_(md). The files are organized based on the assignedscores.

In yet another embodiment of the present invention, a computer system isprovided that comprises of a ranking engine having programming code fordisplaying results of a search query based on scores, wherein the scoresfor files found in the search are based on favorites collaborativefiltering W_(cf)R_(cf) and at least one of the following factors:recency W_(r)R_(r), editorial popularity W_(e)R_(e), clickthrupopularity W_(c)R_(c), and favorites metadata W_(md)R_(md).

For any of the embodiments herein, the files may be media files, videofiles, video streams, or the like. Optionally, the editorial popularitymay be weighted between 1 and 0 and is based on at least one of thefollowing: Neilsen ratings, known brand names, website popularity (e.g.Alexa ranking), or the judgment of a professional or corporation withexpertise in online media. In one embodiment, the weighting of favoritesmetadata is R_(md)=0 if no matches are found or 1 if a keyword field inthe metadata of the file matches any favorite titles in a user'sfavorite titles file, any favorite people in a user's favorite peoplefile, or any keyword in a user's favorite keywords file.

A further understanding of the nature and advantages of the inventionwill become apparent by reference to the remaining portions of thespecification and-drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic of one embodiment of the present invention.

FIG. 2 is a graph showing variables plotted for recency rankingaccording to the present invention.

FIG. 3 is a graph showing the relationship of similarity and popularityweighting according to the present invention.

FIG. 4 shows one embodiment of a display showing results from a searchquery.

FIG. 5 shows one embodiment of a user interface according to the presentinvention.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the invention, as claimed. It may be notedthat, as used in the specification and the appended claims, the singularforms “a”, “an” and “the” include plural referents unless the contextclearly dictates otherwise. Thus, for example, reference to “a crawler”may include multiple crawlers, and the like. References cited herein arehereby incorporated by reference in their entirety, except to the extentthat they conflict with teachings explicitly set forth in thisspecification.

Referring now to FIG. 1, a schematic is shown of the Truveo SearchEngine which is configured for use with the present ranking scheme. Asseen in FIG. 1, the search engine may include a recommendation engine10. The engine 10 may use reasoning algorithms to provide highlyaccurate search results with minimal user input. In one embodiment, therecommendation engine may use a ranking scheme as set forth below.

Truveo Ranking Scheme:

where: 0<R_(i)<1

and: 1=W_(r)+W_(e)+W_(c)+W_(md)+W_(ef)

0<R_(T)<1

Term 1: Recency Ranking:

$R_{r}\left\{ \begin{matrix}{{1 - {\frac{1}{t_{e}}\left( {d_{c} - d_{F}} \right)}},} & {{{For}\left( {d_{c} - d_{F}} \right)} < t_{e}} \\{0,} & {{{For}\left( {d_{c} - d_{F}} \right)} > t_{e}}\end{matrix} \right.$

where:

t_(e)=expiration time (perhaps ˜30 days)

d_(c)=current date

d_(F)=date found

This yields the relationship as shown in FIG. 2.

Term 2: Editorial Popularity Ranking:

Each database entry (e.g., item) is assigned a value for‘EDITORIAL_RANK’, based on how popular the content is expected to be.This could be based on expected viewership for known brand names,previous Neilsen ratings, etc. The most popular content should approachR_(e)=1. Unknown or unpopular content should approach R_(e)=0.Optionally, the editorial popularity rank may also have a time decaycomponent to give weight or more weight to more recent popularityinformation.

Term 3: Clickthru Popularity Ranking:

R _(c) =W _(cpm) R _(cpm) +W _(cph) R _(cph) +W _(cpd) R _(cpd)

where:

${R_{cpm} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {minutes}\mspace{14mu} {ranking}} = \frac{CPM}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpm})}}},\left( {0 < R_{cpm} < 1} \right)$${R_{cph} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {hour}\mspace{14mu} {ranking}} = \frac{CPH}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cph})}}},\left( {0 < R_{cph} < 1} \right)$${R_{cpd} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {day}\mspace{14mu} {ranking}} = \frac{CPD}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpd})}}},\left( {0 < R_{cpd} < 1} \right)$

and

1=W_(cpm)+W_(cph)+W_(cpd).

To implement the clickthru popularity rating, the following fields needto be added to the video data table:

TOTAL_CLICKS = the running tally of clicks that this item has seen sinceDATE_FOUND CPM = clicks per minute CPM_COUNTER_BUFFER = running tally ofclicks on this item since CPM_LAST_CALC CPM_LAST_CALC = the time whenCPM was last calculated and CPM_COUNT_BUFFER was flushed

Similarly:

CPH, CPH_COUNT_BUFFER, CPH LAST_CALC for clicks-per-hour, and

CPD, CPD_COUNT_BUFFER, CPD LAST_CALC for clicks-per-day.

These fields can be calculated and update as follows:

For every user with cookies enabled, each clicked item is storedanonymously in a cookie. Upon a subsequent request to the Truveo searchengine (during that same session), the clickthru data in the cookie isprocessed as follows:

For every item clicked, increment TOTAL_CLICKS, CPM_COUNT_BUFFER,CPH_COUNT_BUFFER, and CPD_COUNT_BUFFER by 1.

For CPM, if CURRENT_TIME−CPM_LAST_CALL>1 minute,

CPM=CPM_COUNT_BUFFER/(CURRENT_TIME−CPM_LAST_CALC)

reset CPM_COUNT_BUFFER to 0

set CPM_LAST_CALC to CURRENT_TIME

Similarly for CPD and CPH

Once this is complete, the user's browser cookie may be flushed toeliminate all cached clickthrus.

Term 4: Favorites Metadata Ranking:

Note that if the user has not registered for an account, this Ranking,R_(md), is zero.

If the user does have a valid account, R_(md) will be determined asfollows:

User FAVORITES METADATA is stored in 3 database tables: FAVORITE_TITLES,FAVORITE_PEOPLE, FAVORITE_KEYWORDS.

For a given video data item:

If any entry in FAVORITE_TITLES matches any part of the TITLE field orthe KEYWORDS Field, R_(md)=1.

-OR-

If any entry in the FAVORITE_PEOPLE table matches any part of any of thefields: ACTOR, DIRECTOR, KEYWORDS, PRODUCER, WRITER, LONG_DESCRIPTION,SHORT_DESCRIPTION, R_(md)=1

-OR-

If any entry in the FAVORITE_KEYWORDS table matches any part of any ofthe fields: ACTOR, CATEGORY, DIRECTOR, GENRE, HOST_SITE_NAME,HOST_SITE_URL, KEYWORDS, LONG_DESCRIPTION, SHORT_DESCRIPTION, PRODUCER,TITLE, WRITER, R_(md)=1.

Otherwise, R_(md)=0

${{Therefore}\text{:}\mspace{11mu} R_{md}} = \left\{ \begin{matrix}{0,} & {{if}\mspace{14mu} {no}\mspace{11mu} {metadata}\mspace{14mu} {match}} \\{1,} & {{if}\mspace{14mu} {metadata}\mspace{14mu} {match}}\end{matrix} \right.$

Note: Be sure to Filter matches on trivial metadata entries like singlecharacters, articles or whitespace characters.

A user's favorites may be determined by, but not limited to, providing amechanism for the user to indicate their favorite videos, recording thevideo items they select to view (e.g. through the use of cookies), or byrecording the video items they choose to forward via e-mail to otherpeople. The FAVORITE_TITLE, FAVORITE_PEOPLE, and FAVORITE_KEYWORDStables are populated for the user by extracting the appropriate metadata from the video record of the indicated favorite video.

Optionally, embodiments of the present application may also include theuse of a unique cookie to identify an anonymous user as a substitute fora user account.

Term 5: Favorites Collaborative Filtering Ranking:

A listing of the Favorite Items (video data records) for each user isstored in the database table FAVORITE_ITEMS.

Note that, if the user has not registered for an account, this ranking,R_(cf), is zero.

If the user does have a valid account, R_(cf) is determined as follows:

First, calculate the distance between user i and all other users, j:

$D_{i,j} = {{{{distance}\mspace{14mu} {between}\mspace{14mu} {user}\mspace{14mu} i} + j} = {\frac{n_{i} - n_{i,j}}{n_{i}} = {1 - \frac{n_{i,j}}{n_{i}}}}}$

where n_(i) is the number of Favorite items user i has stored, and n, isthe number of user i's Favorites that match Favorites of user j.

Note that if all of user i's Favorites match a Favorite of user j, thenD_(i,j)=0. If none match, D_(i,j)=1.

Similarly, a measure of the similarity between user i and j can becalculated as follows:

S_(i,j)=similarity between users i and j=(1−D_(i,j))=

Note: S_(i,j)=1 when the users are completely similar, and 0 when thereare no similar Favorites between users.

We can now select the K-Nearest Neighbors to user i based on thesimilarity ranking. For example, assuming user i has three Favoriteitems:

For: User i

Favorites: ITEMID=103 ITEMID=107 ITEMID=112

n_(i)=3

K-Nearest Neighbors can be selected as follows:

User ID (j) n_(i, j) D_(i, j) S_(i, j) Favorite Items ID 1 1 0.66 0.33101, 102, 103, 110 2 2 0.33 0.66 103, 104, 105, 106, 107 3 0 1 0 101 4 30 1 103, 104, 107, 112 5 2 0.33 0.66 106, 107, 109, 110, 111, 112 6 10.66 0.33 103, 104Reranking the users by decreasing similarity:

Favorite Items Not Already User ID S_(i, j) Stored by User i 4 1 104K-Nearest 2 0.66 104, 105, 106 Neighbors, {open oversize brace} 5 0.66106, 109, 110, 111 where K #32 4 1 0.33 101, 102, 110 6 0.33 104 3 0 101

From this ordered list, the K-Nearest Neighbors are the first K items.

From the K-Nearest Neighbors, we can also determine a popularity ratingfor each new Favorite item. This can be calculated from the fraction ofthe K neighbors that have item l in their Favorites list.

Specifically:

KNN=K-Nearest Neighbors (for K=4):

User Similarity to New Favorite ID User i Items 4 1 104 K-Nearest 2 0.66104, 105, 106 Neighbors, {open oversize brace} 5 0.66 106, 109, 110, 111where K = 4 1 0.33 101, 102, 110${P_{i}} = \; {{{{popularity}\mspace{14mu} {of}{\mspace{11mu} \;}{item}\mspace{14mu} l}} = {\frac{{{number}\mspace{14mu} {of}\mspace{14mu} {occurrences}\mspace{14mu} {of}\mspace{14mu} {item}\mspace{14mu} l}\;}{K}\mspace{59mu} \begin{matrix}{\; {{{among}{\mspace{11mu} \;}K} - {Nearest}}} \\{{Neighbors}\mspace{14mu} {to}\mspace{14mu} {user}\mspace{14mu} i}\end{matrix}}}$

Therefore,

Users with Item ID This Item P₁ S_(max, l) 104 4, 2, 1 0.75 1 106 2, 50.5 0.66 110 5, 1 0.5 0.66 105 2 0.25 0.66 109 5 0.25 0.66 111 5 0.250.66 101 1 0.25 0.33 102 1 0.25 0.33

Where: S_(max,l)=Maximum similarity across all users with item l intheir Favorites list

Note: Popularity=1 when all KNN contain item 1, and P_(l)=0 when no KNNcontain item

Now, we can determine a ranking for every new item in the K-NearestNeighbors list:

For a given item l:

R _(cf,l) =W _(sim)(S _(max,l))+(1−W _(sim))P _(l),

where:

$\begin{matrix}{W_{sim} = {{similarity}\mspace{14mu} {weighting}\mspace{14mu} {factor}}} \\{{= {C_{\max \; {sim}}\left( {1 - \frac{1}{1 + n_{i}}} \right)}},}\end{matrix}$

where:

0≦C_(max sim)≦1

In other words, R_(cf) is a weighted sum of the maximum user similarityfor item l and the popularity of item l among KNN such that 0≦R_(cf)≦1.

The weighting factor is calculated as a function of n_(i) since therelative importance of user similarity, as compared to popularity,increases with the number of specified Favorite items. In other words,if a user has only specified one Favorite item, n_(i)=1, then thesimilarity will be either 0 or 1, and therefore it does not have muchmeaning. Therefore, when n_(i) is small, similarity should be weighedless than popularity.

C_(max sim) should be set to the value that the similarity weightingfactor should approach as n_(i) becomes large. A good range is probably0.3≦C_(max sim)≦0.8.

More specifically, the relationship of the similarity and popularityweighting coefficients can be plotted as shown in FIG. 3.

Now, for each new item in KNN, we can calculate the Rank R_(ef):

Item ID P₁ S_(max, l) R_(cf, 1) 104 0.75 1 0.86 106 0.5 0.66 0.57 1100.5 0.66 0.57 105 0.25 0.66 0.43 109 0.25 0.66 0.43 111 0.25 0.66 0.43101 0.25 0.33 0.29 102 0.25 0.33 0.29Assume C_(max sim)=0.6.For n_(i)=3:

W_(sim)=0.45

Note:

R_(cf) is always between 0 and 1

If the maximum similarity to user i for item l is 1, and item l is aFavorite of all KNN users, R_(cf)=1

The popularity will never be below 1/KNN, but the similarity can bezero. As a result, R_(cf) will never be 0 unless C_(max sim)=1 and n_(i)

∞.

Optionally, embodiments of the present invention may also include afactor for crawl quality in the ranking of search results. By way of nonlimiting example, Application Crawler results are ranked higher than RSSfeed results and RSS feed results higher than results from a generic webcrawler.

Referring now to FIG. 4, one embodiment of a user interface forpresenting the search results is shown. As seen in FIG. 4, the resultsmay display description of the video content, length of video, time thevideo was posted, title, website origin, video type, and/or videoquality.

Referring now to FIG. 5, another embodiment of a user interface isshown. This intuitive Media Center user interface may be used to bringweb video to a television and other non-PC video devices. In oneembodiment, the present invention provides TiVo style recommendations aswell as keyword queries. As seen in FIG. 1, the television interface (orMedia Center interface) shown in FIG. 5 may access the results from theranking engine and application crawler. Again, video quality, bit rate,description, and other information may be displayed. Videos may also becategorized based on categories such as, but not limited to, news,sports, movies, and other subjects.

While the invention has been described and illustrated with reference tocertain particular embodiments thereof, those skilled in the art willappreciate that various adaptations, changes, modifications,substitutions, deletions, or additions of procedures and protocols maybe made without departing from the spirit and scope of the invention.For example, with any of the above embodiments, the recommendation mayuse a ranking scheme having only a subset of the ranking terms set forthin the formula. By way of example and not limitation, some embodimentsmay not include Term 5, the Favorites Collaborative Filtering Ranking.In other embodiments, variations may be made to the present embodimentsuch as but not limited to computing the ranking terms in a differentorder or the like. It should be understood that the present rankingscheme is not limited to video files and may be used to rank or organizeother types of files. It should be understood that the term “files” asin “video files” may include the delivery of the content of the file inthe form of a stream from a server (i.e. a media server).

The publications discussed or cited herein are provided solely for theirdisclosure prior to the filing date of the present application. Nothingherein is to be construed as an admission that the present invention isnot entitled to antedate such publication by virtue of prior invention.Further, the dates of publication provided may be different from theactual publication dates which may need to be independently confirmed.U.S. Provisional Application Ser. No. 60/630,552 filed Nov. 22, 2004 andU.S. Provisional Application Ser. No. 60/630,423 filed Nov. 22, 2004,are fully incorporated herein by reference for all purposes. Allpublications mentioned herein are incorporated herein by reference todisclose and describe the structures and/or methods in connection withwhich the publications are cited.

Expected variations or differences in the results are contemplated inaccordance with the objects and practices of the present invention. Itis intended, therefore, that the invention be defined by the scope ofthe claims which follow and that such claims be interpreted as broadlyas is reasonable.

1. A computer-implemented method for organizing a collection of filesfrom an Internet search, the method comprising: assigning a score toeach file based on at least the following factors: recency, editorialpopularity, clickthru popularity, favorites metadata, and favoritescollaborative filtering; organizing the files based on the assignedscores; and displaying the files as organized.
 2. The method of claim 1wherein the score is R_(T) and is determined using the followingformula:$R_{T} = {\overset{\overset{{Term}\mspace{14mu} 1}{\;}}{W_{r}R_{r}} + \overset{\overset{{Term}\mspace{14mu} 2}{\;}}{W_{e}R_{e}} + \overset{\overset{{Term}\mspace{14mu} 3}{\;}}{W_{c}R_{c}} + \overset{\overset{{Term}\mspace{14mu} 4}{\;}}{W_{md}R_{md}} + \overset{\overset{{Term}\mspace{14mu} 5}{\;}}{W_{cf}R_{cf}}}$$\begin{matrix}{{{where}\text{:}}\mspace{11mu}} & {0 < R_{i} < 1} \\{{{and}\text{:}}\mspace{11mu}} & {1 = {W_{r} + W_{e} + W_{c} + W_{md} + W_{ef}}} \\\Rightarrow & {0 < R_{T} < 1.}\end{matrix}$
 3. The method of claim 2 wherein recency is weighted basedon the following formula for R_(r): $R_{r}\left\{ \begin{matrix}{{1 - {\frac{1}{t_{e}}\left( {d_{c} - d_{F}} \right)}},} & {{{For}\; \left( {d_{c} - d_{F}} \right)} < t_{e}} \\{0,} & {{{For}\; \left( {d_{c} - d_{F}} \right)} > t_{e}}\end{matrix} \right.$ t_(e)=expiration time (perhaps ˜30 days)d_(c)=current date d_(F)=date found.
 4. The method of claim 2 whereineditorial popularity is weighted between 1 and 0 and is based on atleast one of the following: Neilsen ratings, known brand names, websitepopularity (e.g. Alexa ranking), or the judgment of a professional orcorporation with expertise in online media.
 5. The method of claim 2wherein clickthru popularity is weighted based on the following formulafor R_(c):R _(c) =W _(cpm) R _(cpm) +W _(cph) R _(cph) +W _(cpd) Rcpd where:${R_{cpm} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {minutes}\mspace{14mu} {ranking}} = \frac{CPM}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpm})}}},\left( {0 < R_{cpm} < 1} \right)$${R_{cph} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {hour}\mspace{14mu} {ranking}} = \frac{CPH}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cph})}}},\left( {0 < R_{cph} < 1} \right)$${R_{cpd} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {day}\mspace{14mu} {ranking}} = \frac{CPD}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpd})}}},\left( {0 < R_{cpd} < 1} \right)$and1=W_(cpm)+W_(cph)+W_(cpd).
 6. The method of claim 1 wherein weighting offavorites metadata is R_(md)=0 if no matches are found or 1 if a keywordfield in the metadata of the file matches any favorite titles in auser's favorite titles file, any favorite people in a user's favoritepeople file, or any keyword in a user's favorite keywords file.
 7. Themethod of claim 1 wherein weighting of collaborative filtering favoritesmetadata is R_(cf)R _(cf,l) =W _(sim)(S _(max,l))+(1−W _(sim))P _(l), where:$\begin{matrix}{W_{sim} = {{similarity}\mspace{14mu} {weighting}\mspace{14mu} {factor}}} \\{{= {C_{\max \mspace{14mu} {sim}}\left( {1 - \frac{1}{1 + n_{i}}} \right)}},}\end{matrix}$ where:0≦C_(max sim)≦1.
 8. The method of claim 8 wherein R_(cf) is a weightedsum of the maximum user similarity for an item l and the popularity ofitem l among K-Nearest Neighbors such that 0≦R_(cf)≦1.
 9. Acomputer-implemented method for organizing a collection of files from anInternet search, the method comprising: assigning a score to each filebased on favorites collaborative filtering W_(cf)R_(cf) and at least oneof the following factors: recency W_(r)R_(r), editorial popularityW_(e)R_(e), clickthru popularity W_(c)R_(c), and favorites metadataW_(md)R_(md); organizing the files based on the assigned scores; anddisplaying the files as organized.
 10. The method of claim 9 wherein thescore is R_(T) and is determined using the following formula:$R_{T} = {\overset{\overset{{Term}\mspace{14mu} 1}{\;}}{W_{r}R_{r}} + \overset{\overset{{Term}\mspace{14mu} 2}{\;}}{W_{e}R_{e}} + \overset{\overset{{Term}\mspace{14mu} 3}{\;}}{W_{c}R_{c}} + \overset{\overset{{Term}\mspace{14mu} 4}{\;}}{W_{md}R_{md}} + \overset{\overset{{Term}\mspace{14mu} 5}{\;}}{W_{cf}R_{cf}}}$$\begin{matrix}{{{where}\text{:}}\mspace{11mu}} & {0 < R_{i} < 1} \\{{{and}\text{:}}\mspace{11mu}} & {1 = {W_{r} + W_{e} + W_{c} + W_{md} + W_{ef}}} \\\Rightarrow & {0 < R_{T} < 1.}\end{matrix}$
 11. The method of claim 10 wherein recency is weightedbased on the following formula for R_(r): $R_{r}\left\{ \begin{matrix}{{1 - {\frac{1}{t_{e}}\left( {d_{c} - d_{F}} \right)}},} & {{{For}\; \left( {d_{c} - d_{F}} \right)} < t_{e}} \\{0,} & {{{For}\; \left( {d_{c} - d_{F}} \right)} > t_{e}}\end{matrix} \right.$ t_(c)=expiration time (perhaps ˜30 days)d_(e)=current date d_(F)=date found.
 12. The method of claim 10 whereineditorial popularity is weighted between 1 and 0 and is based on atleast one of the following: Neilsen ratings, known brand names, websitepopularity (e.g. Alexa ranking), or the judgment of a professional orcorporation with expertise in online media.
 13. The method of claim 10wherein clickthru popularity is weighted based on the following formulafor R_(c):R _(c) =W _(cpm) R _(cpm) +W _(cph) R _(cph) +W _(cpd) R _(cpd) where:${R_{cpm} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {minutes}\mspace{14mu} {ranking}} = \frac{CPM}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpm})}}},\left( {0 < R_{cpm} < 1} \right)$${R_{cph} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {hour}\mspace{14mu} {ranking}} = \frac{CPH}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cph})}}},\left( {0 < R_{cph} < 1} \right)$${R_{cpd} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {day}\mspace{14mu} {ranking}} = \frac{CPD}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpd})}}},\left( {0 < R_{cpd} < 1} \right)$and1=W_(cpm)+W_(cph)+W_(cpd).
 14. The method of claim 9 wherein weightingof favorites metadata is R_(md)=0 if no matches are found or 1 if akeyword field in the metadata of the file matches any favorite titles ina user's favorite titles file, any favorite people in a user's favoritepeople file, or any keyword in a user's favorite keywords file.
 15. Themethod of claim 9 wherein weighting of collaborative filtering favoritesmetadata is R_(cf)R _(cf,l) =W _(sim)(S _(max,l))+(1−W _(sim))P _(l), where:$\begin{matrix}{W_{sim} = {{similarity}\mspace{14mu} {weighting}\mspace{14mu} {factor}}} \\{{= {C_{\max \mspace{14mu} {sim}}\left( {1 - \frac{1}{1 + n_{i}}} \right)}},}\end{matrix}$ where:0≦C_(max sim)≦1.
 16. The method of claim 15 wherein R_(ef) is a weightedsum of the maximum user similarity for an item l and the popularity ofitem l among K-Nearest Neighbors such that 0≦R_(cf)<1.
 17. A computersystem comprising: a ranking engine having programming code fordisplaying results of a search query based on scores, wherein the scoresfor files found in the search are based on favorites collaborativefiltering W_(cf)R_(cf) and at least one of the following factors:recency W_(r)R_(r), editorial popularity W_(e)R_(e), clickthrupopularity W_(c)R_(c), and favorites metadata W_(md)R_(md).
 18. Thesystem of claim 17 wherein each of the scores is R_(T) and is determinedusing the following formula:$R_{T} = {\overset{\overset{{Term}\mspace{14mu} 1}{\;}}{W_{r}R_{r}} + \overset{\overset{{Term}\mspace{14mu} 2}{\;}}{W_{e}R_{e}} + \overset{\overset{{Term}\mspace{14mu} 3}{\;}}{W_{c}R_{c}} + \overset{\overset{{Term}\mspace{14mu} 4}{\;}}{W_{md}R_{md}} + \overset{\overset{{Term}\mspace{14mu} 5}{\;}}{W_{cf}R_{cf}}}$$\begin{matrix}{{{where}\text{:}}\mspace{11mu}} & {0 < R_{i} < 1} \\{{{and}\text{:}}\mspace{11mu}} & {1 = {W_{r} + W_{e} + W_{c} + W_{md} + W_{ef}}} \\\Rightarrow & {0 < R_{T} < 1.}\end{matrix}$
 19. The system of claim 18 wherein recency is weightedbased on the following formula for R_(r): $R_{r}\left\{ \begin{matrix}{{1 - {\frac{1}{t_{e}}\left( {d_{c} - d_{F}} \right)}},} & {{{For}\; \left( {d_{c} - d_{F}} \right)} < t_{e}} \\{0,} & {{{For}\; \left( {d_{c} - d_{F}} \right)} > t_{e}}\end{matrix} \right.$ t_(e)=expiration time (perhaps ˜30 days)d_(c)=current date d_(F)=date found.
 20. The system of claim 18 whereineditorial popularity is weighted between 1 and and is based on at leastone of the following: Neilsen ratings, known brand names, websitepopularity (e.g. Alexa ranking), or the judgment of a professional orcorporation with expertise in online media.
 21. The system of claim 18wherein clickthru popularity is weighted based on the following formulafor R_(c):R _(c) =W _(cpm) R _(cpm) +W _(cph) R _(cph) +W _(cpd) R _(cpd) where:${R_{cpm} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {minutes}\mspace{14mu} {ranking}} = \frac{CPM}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpm})}}},\left( {0 < R_{cpm} < 1} \right)$${R_{cph} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {hour}\mspace{14mu} {ranking}} = \frac{CPH}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cph})}}},\left( {0 < R_{cph} < 1} \right)$${R_{cpd} = {{{clicks}\mspace{14mu} {per}\mspace{14mu} {day}\mspace{14mu} {ranking}} = \frac{CPD}{\underset{{over}\mspace{14mu} {all}\mspace{14mu} {items}}{Max}({cpd})}}},\left( {0 < R_{cpd} < 1} \right)$and1=W_(cpm)+W_(cph)+W_(cpd)
 22. The system of claim 17 wherein weightingof favorites metadata is R_(md)=0 if no matches are found or 1 if akeyword field in the metadata of the file matches any favorite titles ina user's favorite titles file, any favorite people in a user's favoritepeople file, or any keyword in a user's favorite keywords file.
 23. Thesystem of claim 17 wherein weighting of collaborative filteringfavorites metadata is R_(cf)R _(cf,l) =W _(sim)(S _(max,l))+(1−W _(sim))P _(l), where:W_(sim)=similarity weighting factor $\begin{matrix}{W_{sim} = {{similarity}\mspace{14mu} {weighting}\mspace{14mu} {factor}}} \\{{= {C_{\max \mspace{14mu} {sim}}\left( {1 - \frac{1}{1 + n_{i}}} \right)}},}\end{matrix}$ where:0≦C_(max sim)≦1.
 24. The system of claim 23 wherein R_(cf) is a weightedsum of the maximum user similarity for an item l and the popularity ofitem l among K-Nearest Neighbors such that 0≦R_(cf)≦1.